草庐IT

javascript - 正则表达式 |闰年等等

全部标签

ruby - 用于类似正则表达式匹配的 xpath 表达式?

我想在具有特定模式的html文档中搜索divid。我想在正则表达式中匹配这个模式:foo_([[:digit:]]{1.8})使用xpath。上述模式的xpath等价物是什么?我坚持//div[@id="foo_然后什么?如果有人能为它继续一个合法的表达。编辑抱歉,我想我必须详细说明一下。其实不是foo_,它是post_message_顺便说一句,我使用mechanize/nokogiri(ruby​​)这是片段:html_doc=Nokogiri::HTML(open(myfile))message_div=html_doc.xpath('//div[substring(@id,13

Ruby:从字符串生成新的正则表达式

有什么方法可以将String转换为Regexp(在Ruby中)?比方说:'example'--->/example/我的目的是动态生成正则表达式。 最佳答案 regexp=Regexp.new(string)或regexp=/#{string}/如果string可能有特殊字符,那么:regexp=Regexp.new(Regexp.escape(string))或regexp=/#{Regexp.escape(string)}/ 关于Ruby:从字符串生成新的正则表达式,我们在Stack

Ruby gsub/正则表达式修饰符?

在哪里可以找到有关gsub修饰符的文档?\a\b\c\1\2\3%a%b%c$1$2%3等等?具体来说,我正在查看这段代码...something.gsub(/%u/,unit)%u是什么? 最佳答案 首先,%u在ruby​​正则表达式中没什么特别的:mixonic@pandora~$irbirb(main):001:0>'%u'.gsub(/%u/,'heyhey')=>"heyhey"Ruby1.8正则表达式的最终文档在RubyDocBundle中:http://ruby-doc.org/docs/ruby-doc-bundle

ruby - 如何在 Ruby 正则表达式中插入变量?

data.to_enum(:scan,/(#entity[0])/i).mapdo|m,|p$`.size如何在正则表达式中使用动态变量?#entity[0]返回一个值,但在上面的语法中,#entity[0]在正则表达式中按字面意义获取。 最佳答案 你想要/#{entity[0]}/i。#{}是在字符串和正则表达式中插入变量的语法。 关于ruby-如何在Ruby正则表达式中插入变量?,我们在StackOverflow上找到一个类似的问题: https://st

ruby 正则表达式 : capture the path of url

我想从任何URL中提取其路径。例如:网址:https://stackoverflow.com/questions/ask路径:questions/ask应该不难:url[/(?:\w{2,}\/).+/]但我认为我使用了错误的模式来“忽略这个”('?:'-不起作用)。什么是正确的方法? 最佳答案 我建议您不要使用正则表达式来执行此操作,而是使用内置的URI库:require'uri'uri=URI::parse('http://stackoverflow.com/questions/ask')putsuri.path#results

ruby - 有没有办法表达 'infinite time' ?

我正在使用Range表示时间范围的类。现在我想要一个表示给定时间后任意点的范围。我试过(DateTime.now..nil),但是Range类不允许不同类的对象是同一范围的端点。(尝试使用此属性创建Range会导致ArgumentError:badvalueforrange。)是否有时间的无穷大等价物,即Time.now+(1.0/0.0)?或者,是否有办法绕过Range类要求其min和max值属于同一类的要求? 最佳答案 可以使用DateTime::Infinity类:future=DateTime.now..DateTime::

ruby - 如何在 javascript 定义的 haml 中运行 ruby​​?

如何在haml中的javascript中运行ruby​​代码?如果我在示例中使用var=#{message},我会得到undefinedlocalvariableormethodmessage当我将-message='itworks'移动到:javascript上方时,一切正常我想在:javascript中运行iteration.each。请参阅最后一个代码示例,了解我在最终javascript代码中需要的内容。我需要在哪里循环几个ruby​​变量(或一个散列的散列?)来获得它。数据(='basics')可以有很少的元素。它可以有元素很少的child等。所以这个haml代码%html%

ruby - Ruby 1.9 正则表达式是否与上下文无关语法同样强大?

我有这个正则表达式:regex=%r{\A(?a\ga|b\gb|c)\Z}x当我针对多个字符串测试它时,它似乎与上下文无关语法一样强大,因为它正确地处理了递归。regex.match("aaacaaa")#=>#regex.match("aacaa")#=>#regex.match("aabcbaa")#=>#regex.match("aaacaa")#=>nil"FunwithRuby1.9RegularExpressions"有一个例子,他实际上安排了一个正则表达式的所有部分,使其看起来像一个上下文无关的语法,如下所示:sentence=%r{(?cat|dog|gerbil){

ruby - 使用递归正则表达式(如 perl)在 Ruby 中匹配平衡括号

我一直在寻找一种方法来匹配正则表达式中的平衡括号,并在Perl中找到了一种使用递归正则表达式的方法:my$re;$re=qr{\((?:(?>[^()]+)#Non-parenswithoutbacktracking|(??{$re})#Groupwithmatchingparens)*\)}x;来自perlregularexpressionsite.有没有办法用Ruby或类似的语言做到这一点?更新:对于那些感兴趣的人,这里有一些有趣的链接:Onigurumamanual-来自Sawa的回答。PragmaticProgrammers'Ruby1.9RegularExpressionsS

ruby - 如何获得 JavaScript 样式的哈希访问?

我知道ActiveSupport提供了此功能。h=ActiveSupport::OrderedOptions.newh.boy='John'h.girl='Mary'h.boy#=>'John'h.girl#=>'Mary'但是我已经有一个很大的散列,我想使用点表示法访问该散列。这是我尝试过的:large_hash={boy:'John',girl:'Mary'}h=ActiveSupport::OrderedOptions.new(large_hash)h.boy#=>nil那没有用。我怎样才能使这项工作。我正在使用ruby1.9.2更新:抱歉,我应该提到我不能使用openstruc